package pl.mchaniewski.ryneczek.services;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import pl.mchaniewski.ryneczek.pojo.Company;
import pl.mchaniewski.ryneczek.pojo.Order;
import pl.mchaniewski.ryneczek.pojo.Portfolio;

public interface OrderService {

    public Order save(Order entity);

    public Order findById(Integer id);

    public List<Order> findByPortfolioIdAndStatus(Integer portfolioId,
            String status);

    public List<Order> findByPortfolioIdCompanyIdAndStatus(Integer portfolioId,
            Integer companyId, String status);

    public List<Order> findAllButAcceptedByPortfolioId(Integer portfolioId);

    public List<Order> findAllButAcceptedByPortfolioIdAndCompanyId(
            Integer portfolioId, Integer companyId);

    public Order createNewOrder(Portfolio portfolio, Company company,
            String transactionType, BigDecimal originalPrice, int amount,
            BigDecimal setPrice, int priceType, Date expiryDate);

}
